#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QChart>
#include <QChartView>
#include <QLineSeries>
#include <QValueAxis>
#include <QSplineSeries>
#include <QVBoxLayout>
#include <QSerialPort>         // 串口通信
#include <QSerialPortInfo>     // 获取可用串口

QT_BEGIN_NAMESPACE
namespace Ui {
class Widget;
}
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
    void initSerialPort();
    void initChart();
    void parseSensorDataRegex(const QString &data);

private slots:
    void readSerialData();
    void updateChart(double value);

private:
    Ui::Widget *ui;

    QChart *chart; // 图表
    QChartView *chartView; // 图表视图
    QSerialPort *serial; // 串口
    QSplineSeries *series; // 曲线图
    QByteArray buffer;  // 用于缓存不完整的数据

    double temperature = 0.0;
    double humidity = 0.0;


};
#endif // WIDGET_H
